This invention relates generally to the field of software for Computer Aided Design, or "CAD." More specifically, it relates to software for use in a CAD system for creating two-dimensional diagrams, including but not limited to flow charts, electrical schematics, plant processes and the like.
In CAD systems, diagrams most often consist of representational graphical objects or symbols interconnected by straight, curved or serpentine lines, chains of lines, or other shapes such as arrows which illustrate the connectivity between symbols. Examples of such diagrams are electronic circuit diagrams or computer flow charts. Some kinds of diagrams, such as architectural space plans, do not require connecting lines. The symbols are made up of individual graphical entities, such as lines, circles, arcs, text and images. Different software companies may refer to symbols using terminology such as "blocks" or "shapes." Symbols often exist on a diagram as collections of these individual entities but are difficult to edit in this state.
Once the individual graphical entities have been combined to form a symbol, the CAD system software represents the symbol on the diagram by means of a "pointer." When we refer to a symbol visible on a diagram, we are actually referring to the pointer to the symbol. The pointer allows the symbol to be manipulated as a single entity, which makes diagram editing much easier for the operator. The pointer to the symbol appears to the operator like the original entities which make up the symbol and can be used any number of times on a diagram. Any changes to the symbol design are reflected in all pointers to the symbol. Symbol pointers can be transformed by scaling, rotation, stretching, mirroring etc., and will appear that way on the screen.
Using traditional CAD software such as "AutoCAD" available from Autodesk, Inc., the operator creates a diagram either by placing an existing symbol on the diagram from a collection or library of such symbols, or by creating the individual entities which depict a new symbol. Interconnecting lines, or connections, are then manually drawn from a point on or near the new symbol to appropriate destinations. Every point along the path of the connection must be specified by the operator. This is a very tedious process, and must be repeated every time the position, rotational orientation, size or other parameter of any symbol is changed. Symbols used in this type of system can aptly be referred to as "dumb symbols."
Software is widely available which automates the manipulation and interconnection of symbols, so that when an operator changes the position or other parameter of a symbol, all connections associated with that symbol reconfigure themselves to maintain that association. Such software is available from Visio Corp. under the name "Visio Technical" Complex connections can be created between symbols by simply picking start and end points. Symbols and connections which provide this automatic behavior are referred to as "intelligent," or "smart" symbols and connections.
Before the advent of software which provides intelligent or smart symbols and connections, a large number of diagrams were created containing "dumb" symbols, that is by manually drawing the connections as previously described, and often by manually creating the symbols as well. Users of such software typically have libraries of dumb symbols. There is therefore a need to provide a method for transforming these dumb symbols into intelligent symbols. It is an object of the invention to provide such a method.
It is also an object of the invention to provide a method of converting computer-generated graphical entities into intelligent symbols.
It is often useful in a CAD system to have symbols which can be changed by the operator to appear as one or more different symbols, often related, such as a collection of valves, chairs, fasteners, etc. These are referred to as "multi-symbols." It is a further object of the invention to provide a method of creating multi-symbols from preexisting symbols.